package com.xiaofu.service;

import com.xiaofu.enums.CouponCategoryEnum;
import com.xiaofu.model.LoginUser;
import com.xiaofu.request.NewUserCouponRequest;
import com.xiaofu.utils.JsonData;

import java.util.Map;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author 小夫
 * @since 2024-07-18
 */
public interface CouponService {
    Map<String,Object> pageCouponActivity(int page,int size);

    /**
     * 领取优惠券接口
     * 1. 获取优惠券是否存在
     * 2. 校验优惠券是否可以领取
     * 3. 扣减库存
     * 4. 保存领券记录
     * @param couponId
     * @param categoryEnum
     * @return
     */
    JsonData addCoupon(Long couponId, CouponCategoryEnum categoryEnum);

    JsonData addCoupon(Long couponId, CouponCategoryEnum categoryEnum, LoginUser loginUser);

    /**
     * 新用户注册发放优惠券
     * @param newUserCouponRequest
     * @return
     */
    JsonData initNewUserCoupon(NewUserCouponRequest newUserCouponRequest);

}
